package com.frog.framework.db.mysql;


/**
 * 设置当前使用的数据源类型：主从数据源
 * 默认使用主数据源
 */
public class DataSourceContextHolder {

    // 线程局部变量
    private static final ThreadLocal<String> DATA_SOURCE_HOLDER = new ThreadLocal<>();

    // 往线程里边set数据类型
    public static void setDataBaseType(String datasourceType) {
        if (datasourceType == null || datasourceType.trim().length() == 0) return;
        DATA_SOURCE_HOLDER.set(datasourceType);
    }

    // 从容器中获取数据类型
    public static String getDataBaseType() {
        String datasourceType = DATA_SOURCE_HOLDER.get();
        return datasourceType == null ? DynamicRoutingDataSource.DEFAULT_DATASOURCE_NAME : datasourceType;
    }

    // 清空线程变量中的数据类型
    public static void clearDataBaseType() {
        DATA_SOURCE_HOLDER.remove();
    }

}